package rddSummary.transition.key_value_type

import org.apache.spark.{SparkConf, SparkContext}

object test_foldByKey {
  def main(args: Array[String]): Unit = {

    val conf = new SparkConf().setAppName("test").setMaster("local")
    val sparkContext = new SparkContext(conf)

    /**
     * 当分区内计算规则和分区间计算规则相同时，aggregateByKey 就可以简化为 foldByKey
     */

    val dataRDD1 = sparkContext.makeRDD(List(("a",1),("b",2),("c",3)))
    val dataRDD2 = dataRDD1.foldByKey(0)(_+_)

    dataRDD2.collect().foreach(println)

    sparkContext.stop()
  }

}
